package com.sq.partner.manager.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import com.sq.partner.manager.util.Page;

public interface ReportService {
    /**
     * 按合作伙伴查询近十二个月有效保单数量
     * @param paramMap
     * @return
     * @throws Exception
     */
    Page<Map<String, Object>> queryPolicyAmount(Page<Map<String, Object>> page) throws Exception;
    /**
     * 查询所有的合作伙伴
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryAllPartner(Map<String, Object> paramMap) throws Exception;
    /**
     * 查询所有的机构
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryAllDept(Map<String, Object> paramMap) throws Exception;
    /**
     * 根据合作伙伴按机构查询单量
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryPartner(Map<String, Object> paramMap) throws Exception;
    /**
     * 按合作伙伴下查询
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> querypartnerAmount(Map<String, Object> paramMap) throws Exception;
    /**
     * 按合作伙伴下查询机构数据
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryDeptPartner(Map<String, Object> paramMap) throws Exception;
    /**
     * 查询合作伙伴的投入成本
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryChannelCost(Map<String, Object> paramMap) throws Exception;
    /**
     * 下载Excel
     * @param page
     * @return
     * @throws Exception
     */
    public void downloadFile(List<Map<String, Object>> list, HttpServletResponse response, String months) throws Exception;
    /**
     * 查询下载Excel数据
     * @param paramMap
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryReportFileData(Map<String, Object> paramMap) throws Exception;
    
    /**
     * 查询合作伙伴名称和代码 lfd added 20190909
     * @param paramMap
     * @return
     * @throws Exception
     */
    Page<Map<String, Object>> queryPartnerInfo(Page<Map<String, Object>> page) throws Exception;
}